//go:build windows
// +build windows

package service

import (
	"time"

	"gitee.com/liumou_site/go-network-monitoring/types"
)

// ProcessNetworkService Windows进程网络监控服务（占位实现）
type ProcessNetworkService struct {
	lastUpdate time.Time
}

// NewProcessNetworkService 创建新的进程网络监控服务实例
func NewProcessNetworkService() *ProcessNetworkService {
	return &ProcessNetworkService{
		lastUpdate: time.Now(),
	}
}

// GetProcessConnections 获取所有进程的连接信息
func (pns *ProcessNetworkService) GetProcessConnections() ([]types.ProcessConnection, error) {
	// Windows平台返回空数据
	return []types.ProcessConnection{}, nil
}

// GetProcessStats 获取指定进程的网络统计
func (pns *ProcessNetworkService) GetProcessStats(pid int32) (*types.ProcessInfo, error) {
	// Windows平台返回空数据
	return nil, nil
}

// GetAllProcessStats 获取所有进程的统计信息
func (pns *ProcessNetworkService) GetAllProcessStats() ([]types.ProcessInfo, error) {
	// Windows平台返回空数据
	return []types.ProcessInfo{}, nil
}

// Update 更新进程网络监控数据
func (pns *ProcessNetworkService) Update() error {
	pns.lastUpdate = time.Now()
	return nil
}

// GetLastUpdate 获取最后更新时间
func (pns *ProcessNetworkService) GetLastUpdate() time.Time {
	return pns.lastUpdate
}

// StartAutoUpdate 启动自动更新
func (pns *ProcessNetworkService) StartAutoUpdate(interval time.Duration) {
	// Windows平台不实现自动更新
}

// GetProcessSpeedStats 获取进程速度统计
func (pns *ProcessNetworkService) GetProcessSpeedStats(pid int32) (*types.ProcessSpeedStats, error) {
	return nil, nil
}

// GetAllProcessSpeedStats 获取所有进程的速度统计
func (pns *ProcessNetworkService) GetAllProcessSpeedStats() ([]types.ProcessSpeedStats, error) {
	return []types.ProcessSpeedStats{}, nil
}